// pages/video/video.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    videoUrl:"",
    clickFlag:true ,//是否显示视频
    authorName:'',
    videoName:''
  },

  //获得视频名称
  videoName(e){
    this.setData({
      videoName:e.detail.value
    })
  },
  authorName(e){
    this.setData({
      authorName:e.detail.value
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    if (typeof this.getTabBar === 'function' &&
      this.getTabBar()) {
      this.getTabBar().setData({
        selected: 2
      })
    }
    wx.request({
      url: 'http://101.43.154.9:8001/video',
      method:'GET',
      success:(res)=>{
        console.log(res)
      }
    })
  },

  /**
   * 拍摄或选择视频并上传服务器
   */
  chooseVideo: function () {
    console.log("chooseVideo")
    let that = this
    //1.拍摄视频或从手机相册中选择视频
    wx.chooseVideo({
      sourceType: ['album', 'camera'], // album 从相册选视频，camera 使用相机拍摄
      // maxDuration: 60, // 拍摄视频最长拍摄时间，单位秒。最长支持60秒
      camera: 'back',//默认拉起的是前置或者后置摄像头，默认back
      compressed: true,//是否压缩所选择的视频文件
      success: function(res){
        console.log(res)
        let tempFilePath = res.tempFilePath//选择定视频的临时文件路径（本地路径）
        let duration = res.duration //选定视频的时间长度
        let size = parseFloat(res.size/1024/1024).toFixed(1) //选定视频的数据量大小
        that.data.duration = duration
        if(size > 7.6){
          wx.showToast({
            title: '上传的视频大小超限，超出'+7.6+'MB,请重新上传',
            icon:'none'
          })
        }else{
          //2.视频存储在本地
          that.setData({
            videoUrl:tempFilePath,
            clickFlag:false
          })
        }
      },
    })
  },
  formSubmit(e){
    let that = this
    if(e.detail.value.videoName===""){
      wx.showToast({
        title: '请输入视频名称',
        icon:"none",
        duration:1000,
        mask:true
      })
    }else if(e.detail.value.videoName.length > 20){
      wx.showToast({
        title: '视频名称不得大于20字',
        icon:'none',
        duration:1000,
        mask:true
      })
    }else if(e.detail.value.authorName===""){
      wx.showToast({
        title: '请选择视频作者',
        icon:'none',
        duration:1000,
        mask:true
      })
    }else if(e.detail.value.authorName.length > 6){
      wx.showToast({
        title: '视频作者不得大于6个字',
        icon:'none',
        duration:1000,
        mask:true
      })
    }else if(that.data.videoUrl===''){
      wx.showToast({
        title: '请上传视频',
        icon:"none",
        duration:1000,
        mask:true
      })
    }else{
      wx.showModal({
        title: '提示',
        content: '确定上传视频？',
        success(res) {
          if (res.confirm) {
            that.sureRelease(); //确定
          } else if (res.cancel) {
            wx.showToast({
              title: '继续编辑',
              icon: "none",
              duration: 2000,
              mask: true,
            })
          }
        }
      })
    }
  },
  /**
   * 将本地资源上传到服务器
   * 
   */
  sureRelease:function(){
    let that = this
    console.log('开始上传')
    wx.uploadFile({
      url: 'http://101.43.154.9:8001/upload',//开发者服务器地址
      filePath:that.data.videoUrl,//要上传文件资源的路径（本地路径）
      name:'file',//文件对应key,开发者在服务端可以通过这个 key 获取文件的二进制内容
      success: function(res){
        console.log("调request之前")
        let videodata = res.data;
        wx.request({
          url: 'http://101.43.154.9:8001/videoadd',
          method:'POST',
          data:{
            vid:Date.parse(new Date()).toString().slice(0,9),
            vname:that.data.videoName,
            vmaker:that.data.authorName,
            vadd:`http://101.43.154.9:8001/image/${videodata}`
          },
          success:(res)=>{
            if(res.data=='ok'){
              wx.showToast({
                title: '上传成功',
                icon:"none"
              })
            } else{
              wx.showToast({
                title: '上传失败，请重试',
                icon:"none"
              })
            }
          }
        })
      },
    })
    // //监听上传进度变化事件
    // uploadTask.onProgressUpdate((res) =>{
    //   wx.showLoading({
    //     title: '上传进度：'+res.progress+'%',
    //     mask: true //是否显示透明蒙层，防止触摸穿透
    //   })
    //   console.log("上传进度",res.progress)
    //   console.log("已经上传的数据长度，单位 Bytes:",res.totalBytesSent)
    //   console.log("预期需要上传的数据总长度，单位 Bytes:",res.totalBytesExpectedToSend)
    // })
  },
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})

